#pragma once

#include "ReportData.h"
#include "ReportTestResult.h"

/*#define TEST_REPORT(testName, testGroup)\
class testGroup##testName##Test : public Test \
	{ public: testGroup##testName##Test () : Test (#testName "Test") {} \
	void run (TestResult* result_); } \
	testGroup##testName##Instance; \
	void testGroup##testName##Test::run (ExcelTestResult& result_)*/

#define CHECK_REPORT(condition, description)\
{ string condStr = #condition; \
{ ReportContent content; \
{ ReportTestResult* excelResult = (ReportTestResult*)result_; \
{ content.Fill(string(name_.asCharString()), description, condStr, condition); \
{ excelResult->m_data.m_contents.push_back(content); \
{ if (!(condition)) \
{ excelResult->addFailure (Failure (name_, __FILE__,__LINE__, #condition));  } } } } } } }